38 research outputs found

    Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking study

    Get PDF
    Background: Despite similar education and background, programmers can exhibit vast differences in efficacy. While research has identified some potential factors, such as programming experience and domain knowledge, the effect of these factors on programmers’ efficacy is not well understood. Aims: We aim at unraveling the relationship between efficacy (speed and correctness) and measures of programming experience. We further investigate the correlates of programmer efficacy in terms of reading behavior and cognitive load. Method: For this purpose, we conducted a controlled experiment with 37 participants using electroencephalography (EEG) and eye tracking. We asked participants to comprehend up to 32 Java sourcecode snippets and observed their eye gaze and neural correlates of cognitive load. We analyzed the correlation of participants’ efficacy with popular programming experience measures. Results: We found that programmers with high efficacy read source code more targeted and with lower cognitive load. Commonly used experience levels do not predict programmer efficacy well, but selfestimation and indicators of learning eagerness are fairly accurate. Implications: The identified correlates of programmer efficacy can be used for future research and practice (e.g., hiring). Future research should also consider efficacy as a group sampling method, rather than using simple experience measures

    High-resolution cryo-EM structures of respiratory complex I : Mechanism, assembly, and disease

    Get PDF
    Respiratory complex I is a redox-driven proton pump, accounting for a large part of the electrochemical gradient that powers mitochondrial adenosine triphosphate synthesis. Complex I dysfunction is associated with severe human diseases. Assembly of the one-megadalton complex I in the inner mitochondrial membrane requires assembly factors and chaperones. We have determined the structure of complex I from the aerobic yeast Yarrowia lipolytica by electron cryo-microscopy at 3.2-angstrom resolution. A ubiquinone molecule was identified in the access path to the active site. The electron cryo-microscopy structure indicated an unusual lipid-protein arrangement at the junction of membrane and matrix arms that was confirmed by molecular simulations. The structure of a complex I mutant and an assembly intermediate provide detailed molecular insights into the cause of a hereditary complex I-linked disease and complex I assembly in the inner mitochondrial membrane.Peer reviewe

    High-resolution cryo-EM structures of respiratory complex I : Mechanism, assembly, and disease

    Get PDF
    Respiratory complex I is a redox-driven proton pump, accounting for a large part of the electrochemical gradient that powers mitochondrial adenosine triphosphate synthesis. Complex I dysfunction is associated with severe human diseases. Assembly of the one-megadalton complex I in the inner mitochondrial membrane requires assembly factors and chaperones. We have determined the structure of complex I from the aerobic yeast Yarrowia lipolytica by electron cryo-microscopy at 3.2-angstrom resolution. A ubiquinone molecule was identified in the access path to the active site. The electron cryo-microscopy structure indicated an unusual lipid-protein arrangement at the junction of membrane and matrix arms that was confirmed by molecular simulations. The structure of a complex I mutant and an assembly intermediate provide detailed molecular insights into the cause of a hereditary complex I-linked disease and complex I assembly in the inner mitochondrial membrane.Peer reviewe

    Harvey: A Greybox Fuzzer for Smart Contracts

    Full text link
    We present Harvey, an industrial greybox fuzzer for smart contracts, which are programs managing accounts on a blockchain. Greybox fuzzing is a lightweight test-generation approach that effectively detects bugs and security vulnerabilities. However, greybox fuzzers randomly mutate program inputs to exercise new paths; this makes it challenging to cover code that is guarded by narrow checks, which are satisfied by no more than a few input values. Moreover, most real-world smart contracts transition through many different states during their lifetime, e.g., for every bid in an auction. To explore these states and thereby detect deep vulnerabilities, a greybox fuzzer would need to generate sequences of contract transactions, e.g., by creating bids from multiple users, while at the same time keeping the search space and test suite tractable. In this experience paper, we explain how Harvey alleviates both challenges with two key fuzzing techniques and distill the main lessons learned. First, Harvey extends standard greybox fuzzing with a method for predicting new inputs that are more likely to cover new paths or reveal vulnerabilities in smart contracts. Second, it fuzzes transaction sequences in a targeted and demand-driven way. We have evaluated our approach on 27 real-world contracts. Our experiments show that the underlying techniques significantly increase Harvey's effectiveness in achieving high coverage and detecting vulnerabilities, in most cases orders-of-magnitude faster; they also reveal new insights about contract code.Comment: arXiv admin note: substantial text overlap with arXiv:1807.0787

    Empirical Standards for Software Engineering Research

    Full text link
    Empirical Standards are natural-language models of a scientific community's expectations for a specific kind of study (e.g. a questionnaire survey). The ACM SIGSOFT Paper and Peer Review Quality Initiative generated empirical standards for research methods commonly used in software engineering. These living documents, which should be continuously revised to reflect evolving consensus around research best practices, will improve research quality and make peer review more effective, reliable, transparent and fair.Comment: For the complete standards, supplements and other resources, see https://github.com/acmsigsoft/EmpiricalStandard

    Measuring Program Comprehension with fMRI

    No full text

    Views on Internal and External Validity in Empirical Software Engineering

    No full text
    Abstract—Empirical methods have grown common in software engineering, but there is no consensus on how to apply them properly. Is practical relevance key? Do internally valid studies have any value? Should we replicate more to address the tradeoff between internal and external validity? We asked the community how empirical research should take place in software engineering, with a focus on the tradeoff between internal and external validity and replication, complemented with a literature review about the status of empirical research in software engineering. We found that the opinions differ considerably, and that there is no consensus in the community when to focus on internal or external validity and how to conduct and review replications. I
    corecore